package tech.bmatch.photo.service;

import tech.bmatch.photo.model.Photo;

import java.util.List;

/**
 * 图片存储
 */
public interface PhotoService {


    /**
     * 检查用户容量并上传文件
     * 和记录图片数据
     *
     * @param files  文件流
     * @param name   文件名称
     * @param userId photo实例
     */
    void upload(byte[] files, String name, String userId);

    /**
     * 查询图片
     * @param page 当前页码
     * @param userId 用户ID
     * @return 查询结果List
     */
    List<Photo> query(int page, String userId);

    /**
     * 用户指定位置打水印
     *
     * @param photoId  图片ID
     * @param position 指定位置
     * @param userId 用户ID
     */
    void doAddWatermark(String photoId, int position, String userId);

    /**
     * 去除水印
     * @param photoId 图片ID
     * @param userId 用户ID
     */
    void doClearWatermark(String photoId, String userId);
}
